<template>
		<div class="wrapper">
			
			<!-- header部分 -->
			<header>
				<p>确认订单</p>
			</header>
		
			<!-- 订单信息部分 -->
			<div class="order-info">
				<h5>订单配送至：</h5>
				<div class="order-info-address" @click="SelectAddress()">
					<p v-if="cur">{{curAddress.address}}</p>
					<p v-else="">请选择地址</p>
					<i class="fa fa-angle-right"></i>
				</div>
				<p v-if="cur">{{curAddress.contactName}} {{curAddress.contactTel}}</p>
				<p v-else=""></p>
				<p></p>
			</div>
			
			<h3>{{business.businessName}}</h3>

			<!-- 订单明细部分 -->
			<ul class="order-detailed">
				<li v-for="item in foodNow">
					<div class="order-detailed-left">
						<img :src="item.foodImg">
						<p>{{item.foodName}} x {{item.quantity}}</p>
					</div>
					<p>&#165;{{item.foodPrice * item.quantity}}</p>
				</li>
			</ul>
			<div class="order-deliveryfee">
				<p>配送费</p>
				<p>&#165;{{business.deliveryPrice}}</p>
			</div>
			
			<!-- 合计部分 -->
			<div class="total">
				<div class="total-left">
					&#165;{{totalSettle}}
				</div>
				<div class="total-right" @click="CreateOrder()">
					去支付
				</div>
			</div>
		</div>
</template>
<script>
	export default{
		name:'Order',
		data(){
			return {
				business:{},
				user:{},
				curAddress:{},
				cur:false,
				cart:[],
				orderId:'',
				food_dic:{},
				food:[],
				foodNow:{}
			}
		},
		created() {
			this.business = this.$getSessionStorage('business');
			this.user = this.$getSessionStorage('user');
			this.curAddress = this.$getSessionStorage('address');
			this.food = this.$getSessionStorage('food');
			if(this.curAddress!=null)
			{
				this.cur=true
			}

			this.$axios.post('CartController/listCart',this.$qs.stringify({
				userId:this.user.userId,
				businessId:this.business.businessId
			})).then(response=>{
				let cartArr = response.data;
				for(let foodItem of this.food){
					foodItem.quantity = 0;
					for(let cartItem of cartArr){
						if(cartItem.foodId==foodItem.foodId){
							foodItem.quantity = cartItem.quantity;
							this.$set(this.foodNow,foodItem.foodId,foodItem);
						}
					}
				}

			}).catch(error=>{
				console.error(error);
			});
		},
		methods:{
			CreateOrder() {
				if(this.curAddress==null)
				{
					alert("请选择地址！")
				}
				else{
					this.$axios.post('OrderController/CreateOrder',this.$qs.stringify({
						userId:this.user.userId,
						daId:this.curAddress.daId,
						orderTotal:this.totalSettle,
						businessId:this.business.businessId,
					})).then(response => {
						this.orderId=response.data;
						sessionStorage.removeItem('food');
						sessionStorage.removeItem('business');
						this.$router.push({path:'/payment',query:{businessName:this.business.businessName,orderId:this.orderId}});
					})

				}
			},
			SelectAddress()
			{
				this.$router.push({path:'/Address'});
			}
		},
		computed: {
			totalPrice() {
				let total = 0;
				for (let item of this.food) {
					total += item.foodPrice * item.quantity;
				}
				return total;
			},
			totalSettle(){
				return this.totalPrice+this.business.deliveryPrice;
			}
		}
	}
</script>
<style scoped>
	/****************** 总容器 ******************/
	.wrapper{
		width: 100%;
		height: 100%;
	}

	/****************** header部分 ******************/
	.wrapper header{
		width: 100%;
		height: 12vw;
		background-color: #0097FF;
		color: #fff;
		font-size: 4.8vw;

		position: fixed;
		left: 0;
		top: 0;
		z-index: 1000;

		display: flex;
		justify-content: center;
		align-items: center;
	}

	/****************** 订单信息部分 ******************/
	.wrapper .order-info{
		/*注意这里，不设置高，靠内容撑开。因为地址有可能折行*/
		width: 100%;
		margin-top: 12vw;
		background-color: #0097EF;
		box-sizing: border-box;
		padding: 2vw;
		color: #fff;
	}
	.wrapper .order-info h5{
		font-size: 3vw;
		font-weight: 300;
	}
	.wrapper .order-info .order-info-address{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;

		font-weight: 700;
		user-select: none;
		cursor: pointer;
		margin: 1vw 0;
	}
	.wrapper .order-info .order-info-address p{
		width: 90%;
		font-size: 5vw;
	}
	.wrapper .order-info .order-info-address i{
		font-size: 6vw;
	}
	.wrapper .order-info p{
		font-size: 3vw;
	}

	.wrapper h3{
		box-sizing: border-box;
		padding: 3vw;
		font-size: 4vw;
		color: #666;
		border-bottom: solid 1px #DDD;
	}

	/****************** 订单明细部分 ******************/
	.wrapper .order-detailed{
		width: 100%;
	}
	.wrapper .order-detailed li{
		width: 100%;
		height: 16vw;
		box-sizing: border-box;
		padding: 3vw;
		color: #666;

		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.wrapper .order-detailed li .order-detailed-left{
		display: flex;
		align-items: center;
	}
	.wrapper .order-detailed li .order-detailed-left img{
		width: 10vw;
		height: 10vw;
	}
	.wrapper .order-detailed li .order-detailed-left p{
		font-size: 3.5vw;
		margin-left: 3vw;
	}
	.wrapper .order-detailed li p{
		font-size: 3.5vw;
	}
	.wrapper .order-deliveryfee{
		width: 100%;
		height: 16vw;
		box-sizing: border-box;
		padding: 3vw;
		color: #666;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 3.5vw;
	}

	/****************** 订单合计部分 ******************/
	.wrapper .total{
		width: 100%;
		height: 14vw;

		position: fixed;
		left: 0;
		bottom: 0;

		display: flex;
	}
	.wrapper .total .total-left{
		flex: 2;
		background-color: #505051;
		color: #fff;
		font-size: 4.5vw;
		font-weight: 700;
		user-select: none;

		display: flex;
		justify-content: center;
		align-items: center;
	}
	.wrapper .total .total-right{
		flex: 1;
		background-color: #38CA73;
		color: #fff;
		font-size: 4.5vw;
		font-weight: 700;
		user-select: none;
		cursor: pointer;

		display: flex;
		justify-content: center;
		align-items: center;
	}
</style>
